Modern computer systems are frequently implemented as a distributed collection of computer system resources operating cooperatively on a plurality of host systems. Such modern computer systems may be implemented as combinations of virtual and/or physical computer system resources and may adapt those resources as computer system needs change. For example, new computer system resource instances may be created and/or acquired as more clients interact with the computer system and those same resource instances may be destroyed and/or released when client demand decreases. An architecture diagram, which may be based on a structured description of a computer system, shows the system design, the system deployment and/or the system topology, may be useful for understanding a complex computer system but such architecture diagrams may be difficult to maintain on such volatile computer systems. A deployed computer system based on a proposed architecture diagram may be altered as early as the deployment phase, and may be frequently altered during execution either according to changing resource needs, changing business goals and/or changing technology. These changes may lead to a rapid divergence between the original architecture diagram and the deployed computer system. Without an accurate representation of a system, it may be difficult for system designers and/or analysts to locate potential system flaws and to anticipate system failures, leading to reduced system performance, increased system outages and a correspondingly degraded computer system user experience.